﻿using System;
using System.Collections.Generic;
using System.Security.Permissions;
using App.Interface;
using Domain.Entidades;
using Domain.Interfaces.Servicos;

namespace App
{
    public class AfastamentoAppService : AppServiceBase<usuarios_afastados>, IAfastamentoAppService
    {
        private readonly IAfastamentoService _afastamentoAppService;

        public AfastamentoAppService(IAfastamentoService AfastamentoService) : base(AfastamentoService)

        {
            _afastamentoAppService = AfastamentoService;
        }
        public IEnumerable<tipos_afastamento> busca_tipos()

        {
            try
            {
                return _afastamentoAppService.busca_tipos();
            }
            catch (Exception ex)
            {
                

                throw ex; 
            }


        }
  
        public void Inserir(usuarios_afastados afastamento)

        {
            try
            {
                 _afastamentoAppService.Inserir(afastamento);
            }
            catch (Exception ex)
            {

                throw ex;
            }


        }
        public IEnumerable<VW_usuarios_afastados> Listar(DateTime dt1, DateTime dt2, int unidade)
        {
            return _afastamentoAppService.Listar(dt1, dt2, unidade);

        }
        public usuarios_afastados carrega_busca(int codigo)
        {
            try
            {
                return _afastamentoAppService.carrega_busca(codigo);
            }
            catch (Exception ex)
            {
                

                throw ex;
            }

        }
        public void Deletar(usuarios_afastados afastamento)
        {
            try
            {
                _afastamentoAppService.Deletar(afastamento);
            }
            catch (Exception ex)
            {
                
                throw ex;
            }

        }
        public void Editar(usuarios_afastados afastamento)
        {
            try
            {
                _afastamentoAppService.Editar(afastamento);
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

    }
}
